适用于对一类事件的、多对一关系的事件同步。
更多...
|
| #define | uExternFlagGroup(group, bits) sCSV_ExternFlagGroup(group, bits) |
| | 声明标志组 更多...
|
| |
| #define | uDefFlagBit(bit) sDefBitField(bit) |
| | 定义标志位 更多...
|
| |
| #define | uDefVoidBits(nvb) sDefVoidBits(nvb) |
| | 定义空位 更多...
|
| |
| #define | uCreateFlagGroup(group) sCSV_CreateFlagGroup(group) |
| | 创建标志组 更多...
|
| |
| #define | uWaitFlagGroup(group, tc) sUSV_WaitFlagGroup(group, tc) |
| | 等待标志组 更多...
|
| |
| #define | uQueryFlagGroup(group) sUSV_QueryFlagGroup(group) |
| | 查询标志组 更多...
|
| |
| #define | uClearFlagGroup(group) sUSV_ClearFlagGroup(group) |
| | 清除标志组 更多...
|
| |
| #define | uSetFlagBit(group, bit) uSetFlagBits(group, 1) bit) |
| | 设置标志位 更多...
|
| |
| #define | uClearFlagBit(group, bit) uClearFlagBits(group, 1) bit) |
| | 清除标志位 更多...
|
| |
| #define | uSetFlagBits(group, nbit) sUSV_WriteFlagBits(group, true, nbit) |
| | 设置多标志位 更多...
|
| |
| #define | uClearFlagBits(group, nbit) sUSV_WriteFlagBits(group, false, nbit) |
| | 清除多标志位 更多...
|
| |
适用于对一类事件的、多对一关系的事件同步。
某一类事件,它的发生线程会有多个,均同步至同一个事件处理线程中统一处理该类事件。
- 注解
- 名词解释
组名:标志组的名称
位名:标志位的名称
空位:空标志位
-
查询标志位:任务、滴答、中断中,均直接查询。
| #define uClearFlagBits |
( |
|
group, |
|
|
|
nbit |
|
) |
| sUSV_WriteFlagBits(group, false, nbit) |
| #define uClearFlagGroup |
( |
|
group | ) |
sUSV_ClearFlagGroup(group) |
| #define uCreateFlagGroup |
( |
|
group | ) |
sCSV_CreateFlagGroup(group) |
创建标志组
- 参数
-
| [in] | group | 组名 |
| [in] | add={...} | 附加代码(赋初值) |
- 返回
- 无
在文件 ur_api.h 第 1206 行定义.
| #define uDefFlagBit |
( |
|
bit | ) |
sDefBitField(bit) |
| #define uDefVoidBits |
( |
|
nvb | ) |
sDefVoidBits(nvb) |
| #define uExternFlagGroup |
( |
|
group, |
|
|
|
bits |
|
) |
| sCSV_ExternFlagGroup(group, bits) |
声明标志组
- 参数
-
| [in] | group | 组名 |
| [in] | bits | 定义各标志位,分号间隔 |
- 返回
- 无
在文件 ur_api.h 第 1184 行定义.
| #define uQueryFlagGroup |
( |
|
group | ) |
sUSV_QueryFlagGroup(group) |
| #define uSetFlagBit |
( |
|
group, |
|
|
|
bit |
|
) |
| uSetFlagBits(group, 1) bit) |
| #define uSetFlagBits |
( |
|
group, |
|
|
|
nbit |
|
) |
| sUSV_WriteFlagBits(group, true, nbit) |
| #define uWaitFlagGroup |
( |
|
group, |
|
|
|
tc |
|
) |
| sUSV_WaitFlagGroup(group, tc) |
等待标志组
- 参数
-
| [in] | group | 组名 |
| [in] | tc | 滴答周期(超时时间)
+0:立即返回
~0:无限等待 |
- 返回
- 结果(bool)
- 返回值
-
- 警告
- 不支持在临界区中,包括任务临界区、服务层临界区、全局临界区,或关闭总中断时调用。
-
事件的各个发生线程中设置标志位后,应调用 uClearBlock(task) 来手动完成事件同步。
在文件 ur_api.h 第 1220 行定义.